﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Datos.Interfaces;
using Datos.Fabricas;
using Datos.Entidades;
using Logica.Comandos;
using log4net;

namespace Logica.Comandos.ComandosAdministracionParticipante
{
    public class ComandoCrearParticipante:Comando
    {
        #region Logger
        private static readonly ILog log = LogManager.GetLogger(
        System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

        #endregion 
         /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="usuario">Participante a crear</param>
        public ComandoCrearParticipante(Entidad participante)
        {
            _entidades = participante;
        }

        /// <summary>
        /// Ejecuta el comando para crear el Participante
        /// </summary>
        /// <returns>Si el participante fue creado o no</returns>
        public override void Ejecutar()
        {
            try
            {
                FabricaDao fd = FabricaDao.ObtenerFabricaDaoSqlServer();
                IDAOAccesoParticipante idau = fd.ObtenerDAOParticipante();

                Flag = idau.InsertarParticipante(_entidades);
                log.Info("Se ejecuto el comando");
            }
            catch(Exception e )
            {
                log.Error("No se ejecuto el comando");
            
            }
        }

    }
    
}
